package gomz.pres;

import gomz.pres.admin.GUIAAccount;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JOptionPane;


/**
 * Controller von CUser, der Registration von neuen Benutzern
 * @author Neuenschwander
 *
 * 
 */ 

public class CUser {
	
	
//********************************************************************************
// Variablen
// ********************************************************************************
		
		private MUser model;
		private GUIUser view;
		private GUIAAccount viewU;
		
//*********************************************************************************
// Konstruktor
// ********************************************************************************
	    /**
	     * Konstruktor von CUser, Views und Model starten, Listener starten und GUIUser sichtbar machen
	    */
	public CUser(JFrame GUILogin) {
		view = new GUIUser(GUILogin);
		model = new MUser();
		viewU = view.getPlMain();
		addListener();
		view.showGUIUser();
	}
	
// ********************************************************************************	
// Listener
// ********************************************************************************
		private void addListener(){
			
		viewU.getBtAcan().addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				doClose();
			}
		});	
		viewU.getBtAsave().addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				doRegister();
			}
		});	
		}
		
// ********************************************************************************
// Methoden
// ********************************************************************************	
	
	    /**
	     * Diese Methode startet die Registrierung
	    */
	public void doRegister(){
		//Wenn User oder Passwort leer sind
		if(viewU.getTfAuser().getText().equals("") || viewU.getPfApw().getPassword().length == 0) {
			//Fehlermeldung anzeigen
			JOptionPane.showMessageDialog(view, "\u00dcberpr\u00fcfen Sie die Pflichtfelder.", "Registration fehlgeschlagen", JOptionPane.ERROR_MESSAGE);
		} else {
		//Registration ausfuehren, alle Daten fuer den User zum Model senden
			if (model.doSave(viewU.getTfAuser().getText(), viewU.getPfApw().getPassword(), viewU.getTfAfirstname().getText(), viewU.getTfAlastname().getText(),  viewU.getTfAemail().getText(), viewU.getCxAlang().getSelectedIndex())){
				//Registrations Fenster schliessen
				view.dispose();
			} else {
				//Fehlermeldung anzeigen
				JOptionPane.showMessageDialog(view, "Username bereits vergeben.", "Registration fehlgeschlagen", JOptionPane.ERROR_MESSAGE);
			}	
		}
	}
	
	
    /**
     * Diese Methode schliess das Registrations Fenster
    */
	public void doClose(){
		//Registrations Fenster schliessen
		view.dispose();	
	}
}
